package 文件与io流;
//File与基本的io流
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.OutputStream;


//在指定路径中查找指定文件的绝对路径
//public class F {
//	public static void main(String [] args) {
//	filepath(new File("D:/"),"devcpp.exe");
//	}
//	public static void filepath(File dir,String filename) {
//		if(dir==null&&dir.length()==0&&dir.isFile())
//		{
//			return;
//		}
//			File[] files=dir.listFiles();
//		if(files!=null&&files.length>0)
//		for(File file:files)
//		{
//			if(file.isFile())
//			{
//				if(file.getName().equals(filename))
//				System.out.println(file.getAbsolutePath());
//			}
//			else
//			{
//				filepath(file,filename);
//			}
//		}
//	}
//}



//删除整个文件夹内容
//public class F
//{
//	public static void main(String [] args)
//	{
//		filedelete(new File (""));
//	}
//	public static void filedelete(File dir)
//	{
//		if(dir==null&&!dir.exists())
//			return;
//		File[] files=dir.listFiles();
//		for(File file:files)
//		{
//			if(file.isFile())
//				file.delete();
//			else
//				filedelete(file);
//		}
//	}
//}





//字节流实现读写数据
//public class F
//{
//	public static void main (String [] args) throws Exception
//	{
//		//1.读
//	
//		InputStream is=new FileInputStream("D:\\代码\\firstDemo\\src\\firstDemo\\example");
//		File f=new File("D:\\代码\\firstDemo\\src\\firstDemo\\example");
//		System.out.println(f.getAbsoluteFile());//打印文件的绝对路径
//		System.out.println(f.isFile());		//判断是否是文件
//		//1.一次性读
//		long size=f.length();
//		byte[] buffer=new byte[(int) size];
//		int n=is.read(buffer);
//		System.out.println(new String(buffer));
//		is.close();
//		
//		//2.一个一个字节读
//		int n1;
//		while((n1=is.read())!=-1)
//		{
//			System.out.print((char) n1);
//		}
//		
//		//3.n个n个字节读
//		byte[] buffer1=new byte[3];
//		int len;
//		while((len=is.read(buffer1))!=-1)
//		{
//			System.out.print(new String(buffer1,0,len));
//		}
//		
//		
//		//2.写
//		OutputStream os=new FileOutputStream("D:\\代码\\firstDemo\\src\\firstDemo\\example");
//		byte[] buffer2="我爱中国\r\naaa".getBytes();
//		os.write(buffer2);
//		os.close();
//
//		
//		//3.复制
//		InputStream is1=new FileInputStream("D:\\代码\\firstDemo\\src\\firstDemo\\example");
//		OutputStream os1=new FileOutputStream("D:\\代码\\firstDemo\\src\\firstDemo\\example1");
//		byte[] buffer3=new byte[20];
//		int len1;
//		while((len1=is1.read(buffer3))!=-1)
//		{
//			os1.write(buffer3,0,len1);
//		}
//		
//		
//		File f1=new File("D:\\代码\\firstDemo\\src\\firstDemo\\example1");
//		System.out.println(f1.delete());
//	}
//}


//字符流读写数据
import java.io.Reader;
import java.io.Writer;
import java.io.FileWriter;
public class F
{
	public static void main(String [] args) throws Exception
	{
		Reader fr=new FileReader("D:\\代码\\firstDemo\\src\\firstDemo\\example");
		//1.读
		//1.一个一个字符读
		int n;
		while((n=fr.read())!=-1)
		{
			System.out.print((char) n);
		}
		
		//2.n个n个读
		char[] arr=new char[3];
		int n1;
		while((n1=fr.read(arr))!=-1)
		{
			System.out.print(new String(arr));
		}
		fr.close();
		
		//2.写
		Writer fw=new FileWriter("D:\\代码\\firstDemo\\src\\firstDemo\\example1");
		char[] arr1=new char[3];
		int len;
		while((len=fr.read(arr1))!=-1)
		{
			fw.write(arr1,0,len);
		}
		fr.close();
		fw.close();
	}
}